#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
#include<vector>
using namespace std;

//class Solution {
//public:
//
//
//    int myAtoi(string str)
//    {
//        int sign = 1;
//        int i = 0;
//        while (str[i] == ' ')
//            ++i;
//        if (str[i] == '-' || str[i] == '+')
//        {
//            if (str[i] == '-')
//            {
//                ++i;
//                sign = -1;
//            }
//            else
//                ++i;
//
//         }
//        long number = 0;
//
//        while (str[i] <= '9' && str[i] >= '0')
//        {
//            number = number * 10 +str[i] - '0';
//            if (number >= INT_MAX && sign == 1) return INT_MAX;
//            if (number > INT_MAX && sign == -1) return INT_MIN;
//            ++i;
//
//        }
//        return  sign * number;
//
//
//    }
//
//
//    string addStrings(string num1, string num2)
//    {
//        int size1 = num1.size() - 1;
//        int size2 = num2.size() - 1;
//        string str;
//        int carry = 0;
//        int temp = 0;
//
//        while (size1 >= 0 && size2 >= 0)
//        {
//            num1[size1] -= '0';
//            num2[size2] -= '0';
//
//
//            if (carry)
//            {
//                temp = num1[size1] + num2[size2] + carry;
//                carry = 0;
//                if (temp >= 10)
//                {
//                    temp -= 10;
//                    carry = 1;
//                }
//            }
//            else
//                temp = num1[size1] + num2[size2];
//
//
//            if (temp >= 10)
//            {
//                temp -= 10;
//                carry = 1;
//            }
//
//            size1--;
//            size2--;
//            str += (temp + '0');
//
//        }
//
//        while (size1 >= 0)
//        {
//            num1[size1] -= '0';
//
//            if (carry)
//            {
//                temp = num1[size1] + carry;
//                carry = 0;
//                if (temp >= 10)
//                {
//                    temp -= 10;
//                    carry = 1;
//                }
//            }
//            else
//                temp = num1[size1];
//            str += (temp + '0');
//            size1--;
//
//        }
//
//        while (size2 >= 0)
//        {
//            num2[size2] -= '0';
//
//            if (carry)
//            {
//                temp = num2[size2] + carry;
//                carry = 0;
//                if (temp >= 10)
//                {
//                    temp -= 10;
//                    carry = 1;
//                }
//            }
//            else
//                temp = num2[size2];
//
//            str += (temp + '0');
//            size2--;
//
//        }
//
//          if (carry)
//            str += '1';
//        int begin = 0;
//        int end = str.size() - 1;
//        while (begin < end)
//        {
//            swap(str[begin], str[end]);
//            ++begin;
//            --end;
//        }
//
//  
//
//        return str;
//
//    }
//
//    
//
//    bool isPalindrome(string s)
//    {
//        string newStr;
//
//        for (int i = 0; i < s.size(); ++i)
//        {
//            if (s[i] <= 'z' && s[i] >='a')
//                newStr += s[i];
//
//            if (s[i] >= 'A' && s[i] <= 'Z')
//            {
//                newStr += (s[i] + 32);
//            }
//
//       }
//
//
//       // cout << newStr;
//       
//
//        string temp(newStr);
//
//        int end = temp.size() - 1;
//        int begin = 0;
//        while (begin < end)
//        {
//            swap(temp[begin], temp[end]);
//            begin++;
//            end--;
//        }
//
//        return newStr == temp;
//    }
//
//



//int main()
//{
//    string strText = "How are you?";
//
//    string strSeparator = " ";
//
//    string strResult;
//
//    int size_pos = 0;
//
//    int size_prev_pos = 0;
//
//    while ((size_pos = strText.find_first_of(strSeparator, size_pos)) != string::npos)
//
//    {
//
//        strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//        cout << strResult << " ";
//
//        size_prev_pos = ++size_pos;
//
//    }
//
//    if (size_prev_pos != strText.size())
//    {
//
//        strResult = strText.substr(size_prev_pos, size_pos - size_prev_pos);
//
//        cout << strResult << " ";
//
//    }
//
//    cout << endl;
//    return 0;
//}
//
//int main()
//{
//   
//    string str;
//    getline(cin, str);
//
//    size_t size = str.size();
//    cout << size << endl;
//    int k = 0;
//    while (size != 0)
//    {
//        if (str[size - 1] != ' ')
//            k++;
//        else
//            break;
//
//        size--;
//    }
//     
//    cout << k << endl;
//    
//    return 0;
//}
//int main()
//{
//    Solution s;
//    string str;
//    cin >> str;
//   cout<< s.isPalindrome(str);
//    return 0;
//}
class Solution {
public:
    void reverse(string& str, int begin, int end)
    {
        int begin_ = begin;
        int end_ = end;
        while (begin_ < end_)
        {
            swap(str[begin_], str[end_]);
            end_--;
            begin_++;
        }
    }

    string reverseStr(string s, int k)
    {
        int cnt = 0;

        for (int i = 0; i < s.size(); i++)
        {

            if ((i+1) % (2 * k) == 0 &&i!=0)
            {
                reverse(s, i - 2 * k + 1, i - k);
                cnt += 2 * k;
            }

            if (i == (s.size() - 1) && (i - cnt + 1) < k)
            {
                reverse(s, cnt, i);
            }
            if (i == (s.size() - 1) && (i - cnt + 1) >= k && (i - cnt + 1) < 2 * k)
            {
                reverse(s, cnt, cnt + k - 1);
            }



        }


        return s;
    }
};


void test7()
{
    int row;
    cin >> row;
    vector<vector<int>> vv(row);

    for (int i = 0; i < row; i++)
    {
        vv[i].reserve(i + 1);
        vv[i][0] = 1;
        vv[i][i] = 1;
    }



}


void test6()
{
    vector<int>  nums{1,2,2,3,3,3,3,4,4,4,4,5,6,7,8,9,9,9,10,11};


    int prev = 0;
    int cur = prev + 1;

    while (1)
    {
        if (cur >= nums.size())
            break;
        if (nums[prev] != nums[cur])
        {
            prev++;
            cur++;
        }
        else
        {
            vector<int>::iterator del = nums.begin() + cur;
            nums.erase(del);
              
        }

    }
    for (int num : nums)
        cout << num << " ";

}

void test66()
{
    vector<int> arr{ 10,11,3,3,4,4,5,5,6,6 };


}

int main()
{

    test66();

    return 0;
}